/**
 * Created with IntelliJ IEDA.
 * Description:
 * User:86186
 * Date:2023-10-24
 * Time:21:21
 */


/**
 *  50. Pow(x, n)
 * 中等
 * 1.3K
 * 相关企业
 *
 * 实现 pow(x, n) ，即计算 x 的整数 n 次幂函数（即，xn ）。
 *
 *
 *
 * 示例 1：
 *
 * 输入：x = 2.00000, n = 10
 * 输出：1024.00000
 *
 * 示例 2：
 *
 * 输入：x = 2.10000, n = 3
 * 输出：9.26100
 *
 * 示例 3：
 *
 * 输入：x = 2.00000, n = -2
 * 输出：0.25000
 * 解释：2-2 = 1/22 = 1/4 = 0.25
 */
public class myPow {

    public double myPow(double x, int n) {
        return n < 0 ? 1.0 / pow(x,-n) : pow(x,n);
    }
    public double pow(double x,int n){
        if (n == 0)return 1.0;

        double tmp = pow(x,n / 2);
        return (n % 2) == 0 ? tmp * tmp : tmp * tmp * x;
    }
}
